
#ifndef __SCENE_CONSTRUCTOR_UTIL_H
#define __SCENE_CONSTRUCTOR_UTIL_H

#include "../GeomStructure.h"
#include <osg/Switch>
#include "shared_ptr.h"
#include <map>
using namespace std;

class CGeomNode;


struct SceneConstructor_Util
{
	static void ClasifyProductByName( const vector<string>& vStrName, map<string, std::vector<string>>& mapProduct, bool bDatIsIncluded = true );

	static void	ConstructSceneFromFile( const char* lpszPath, const map<string, vector<string>>& mapProduct, osg::ref_ptr<osg::Switch> pPrjOSG, shared_ptr<CGeomNode>& pPrjTree, bool bDatIsIncluded = true );

	static void	CreateProduct( const vector<vector<PT3D>>& vvPT, const vector<vector<int>>& vvTriIdx, osg::ref_ptr<osg::Switch> pProductOSG, shared_ptr<CGeomNode>& pProductTree, const char* lpszPath, osg::Vec4& clr );

	static void	ConstructSceneFromFile( const char* lpszPath, const map<string, vector<string>>& mapProduct, osg::ref_ptr<osg::Switch> pPrjOSG );

	static void	CreateProduct( const vector<vector<PT3D>>& vvPT, const vector<vector<int>>& vvTriIdx, osg::ref_ptr<osg::Switch> pProductOSG, const char* lpszPath, osg::Vec4& clr );
};


#endif		//#endif